package com.mybatis.demo.mapper;

import com.mybatis.demo.domain.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author ZhuYouBin
 * @version 1.0.0
 * @Date: 2022/8/7 15:14
 * @Description
 */
public interface UserMapper {
    /**
     * 一个参数的情况
     * @param id
     * @return
     */
    List<User> queryList(Integer id);

    /**
     * 多个参数情况
     * @param id
     * @param username
     * @return
     */
    List<User> queryList2(Integer id, String username);

    /**
     * 多个参数的情况
     * @param id
     * @param username
     * @return
     */
    List<User> queryList3(@Param("id") Integer id, @Param("uname") String username);

    /**
     * Map集合参数
     * @param map
     * @return
     */
    List<User> queryList4(Map<String, String> map);

    /**
     * 实体类参数
     * @param user
     * @return
     */
    List<User> queryList5(User user);

    /**
     * 集合类型参数
     * @param ids
     * @return
     */
    List<User> queryList6(List<String> ids);

    /**
     * 集合参数类型
     * @param ids
     * @return
     */
    List<User> queryList7(Set<String> ids);

    /**
     * 数组类型参数
     * @param ids
     * @return
     */
    List<User> queryList8(int[] ids);
}
